﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;

namespace YJKFamilyLibDataManager
{
	public interface ITypeTable
	{
		bool Add(DataTable typeTable, DbFamily family, DbTransaction tr);

		bool Remove(int typeId, DbFamily family);

		void Update(DataTable typeTable, DbFamily family);

		DbFamilySymbol this[DbFamily family, string name]
		{
			get;
		}

		List<string> this[DbFamily family]
		{
			get;
		}

		DataTable DataTable(DbFamily family);

		DataTable SelectTypes(string SQL);

		bool Create(DbFamily family, DbTransaction tr);

		bool Create(DbFamily family, DataTable dt, DbTransaction tr);

		bool Drop(DbFamily family, DbTransaction tr);

		void AddColumns(DbFamily family, List<DbParamDefinition> paramDefs, DbTransaction tr);
	}
}
